I'm mostly concerned about the disk I/O needed to load up the command
interpreter, plus the CPU time for the interpreter to initialize itself.
Yeah, that makes a massive difference. After I sent the message you quote, I tried timing vfork()+execve(), and it's more than 100x slower than vfork() alone. Not really surprising. I still think the staggering efficiency of Unix vfork() is one of the wonders of the computing world, but maybe that's not altogether relevant. :-)
All the same, you don't know it's going to be too slow until you've tried it and it is.
It seems to me that spawning a new process for (on average) one out of six
keystrokes is excessive. Just sayin'. :-)
Excessive ... in a good way? :-)
Robin