I am trying to write a .sh file that runs many programs simultaneously
I tried this
prog1
prog2
With GNU Parallel http://www.gnu.org/software/parallel/ it is as easy as:
(echo prog1; echo prog2) | parallel
Or if you prefer:
parallel ::: prog1 prog2
Learn more: