I am trying to write a .sh file that runs many programs simultaneously
I tried this
prog1 prog2
You can try ppss. ppss is rather powerful - you can even create a mini-cluster. xargs -P can also be useful if you've got a batch of embarrassingly parallel processing to do.