Write a Shell in C
stephen-brennan.com
stephen-brennan.com
http://www.cons.org/cracauer/sigint.html
Yes, this is easy to do simplistically and wrong, but very important to get right, even for regular programs, let alone a shell.
That assignment was adding some features (command execution, pipes, redirection) onto an read-parse-loop "shell" program.
The universe of commandline tools is still not completed, and this kind of programming is fun! fun! fun!
Personally I miss the Plan-9's plumb utility. :)