Something that UNIX really needs a good handle on is asynchronous I/O. There have been all sorts of designs over the years but they all don't quite seem to be there somehow. I think signalfd() is a big step in the right direction, if you could get the interaction with fork()/exec() sorted out.
Basically you get a sort of I/O completion port, an fd where all the interesting stuff (I/O completions, signals, child exits, etc) get sent to you via messages. That would be wicked cool.