и все происходит нормально, но если выполнять это через exec в php то правильно работает только первая команда.
Иногда выполняется нормально, но это редко.
Почему так?
тут на англицком, по-русски и коротко - каждой из команд назначается вывод в дев/нулл, и в конце всей строки с командами отправляется в отдельный поток выполнения(строка заканчивается &) . Попробуйте, под линем должно сработать )