Revert "Revert #37" to support cmds w/ spaces and quotes again

This reverts commit 699576a97fc4c64257ea6344894f744a5fb5a250.
support other shells via the SHELL env var