Handle unknown options 

Unknown options in the command line arguments are passed to sh. I have seen that you want to make it use commander.c but I think that there is no need to do that for this specific issue.
-g option will add debugging information to the program (further reading here https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Debugging-Options.html#Debugging-Options)