You leave out the ';' char, i.e.
program1 & program2 &
I hope this helps.
try
(program1 &) ; (program2 &)