Get tests passing in dash

All tests pass now in dash (`make SHELL=dash test`):

- Fix error when saving/reading args in dash
- Fix test that relied on `type -t`