Make shell_args a submodule of globals
Add a simple module for getting and setting last exit status
Set the last exit status after builtins and fork-exec
Expand $? into the last exit status
Handle an exec failure correctly

By printing an error message and returning 127