support using POSIX sh(1) as `set shell=/bin/sh`

This patch fixes issue #106 while remaining compatible with Zsh and Bash:

Use `cd` instead of `popd` because POSIX sh(1) does not have `pushd` and
also because this plugin did not pair its `pushd` with a `popd` anyway.

Use file redirection because POSIX sh(1) does not have anonymous pipes.