Fix submodule checkout substitution for POSIX shells

The substitution used in the submodule checkout command does not work when `/bin/sh` is a real POSIX shell (such as pdksh.) This change fixes the substitution so it will work with all shells.
Honestly, I think `$toplevel` and `$path` both eval to `''`. Where do they even come from?