I dont know what you mean by "overlay program". I assume because of the reply that you simply want to make a dos/bash shell like application, am I right?
If then, I gotta tell you its complicated but not hard at all. You might need some experience working with some APIs, and depending your target OS, and the level of functionality you want to implement in such app, is the hard it would get.
There can be many approaches. One could be for instance to use the win32 console API (which Ive never touched before - never needed to actually). Another approach would be to make a simple window in the API of your preference (WinAPI, or a library such as WxWidgets), then be ready to handle events inside that window, like the return key, maybe copy/paste ability, and such. You'd need to have a cache of inputs, just like the bash shell does, and then also would need to make the harder part, aka the parser, that is gonna take every single input line, and then parse it to execute the right command.
I sometime thought about making such application, but never really found the time to do it, someday maybe I will. The way I see it, its very doable depending on your experience in programming.
I also thought of a plugin framework for the insertion of new commands, so every time I wanna make a new command available, I just make the required plugin, copy to the right folder, and thats it, I even thought of using some of the linux to win32 command ports and then from within the application I would call the executable with the right parameters and get the ouput to redirect it to my window. The original idea I had was to make a bash shell clone for win32, given the fact, then windows console is very limited in functionality...
I hope I was of any help, cheers and good luck if you decide to go for it