I am trying to write a .sh file that runs many programs simultaneously
I tried this
prog1 prog2
Your script should look like:
prog1 & prog2 & . . progn & wait progn+1 & progn+2 & . .
Assuming your system can take n jobs at a time. use wait to run only n jobs at a time.