Сбой не будет, если нет файла с именем run.php -n 3
. Вы не хотите экранировать ни одного аргумента, вы хотите экранировать имя файла и аргументы.
Это неправильный способ сделать это. Пусть один скрипт PHP выполнит все ваши команды, все, что указано в аргументах командной строки. Избегайте аргументов и беспокойтесь о безопасности внутри этого PHP-файла.
Или, еще лучше, общаться через канал.