I wrote a shell quite a while ago, based on a friend's shell and also the shell in Marc Rochkind's book. It was portable across a lot of systems but small enough to fit on Minix.
I used ptrace() to implement job control on Minix. See ftp://minnie.tuhs.org/pub/Wish/wish_internals.pdf

Cheers, Warren
--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.