Could you give us some more information?
- How do you get the list of programs to be run?
- Are there any dependencies between the programs? If yes, how would you describe them?
- What should happen to stdout/stderr? Output to the console or saved somewhere?
- Do the programs require some kind of input once they're running?