a shell implemented in C