Кто блин так делает передачу команды для запуска? Грубо, функция run принимает массив - сама команда и флаг isDirect.
Если флаг не задан - эта херня считает, ч о в нулевой позиции в списке указан файл в текущей директории и по расширению пытается угадать чем его запускать. Соответственно, нормальные команды из path не ест.
Если же задать флаг, эта херня считает что я передал целиком команду, которую надо скормить шеллу. И соответственно ругается когда там больше одного элемента в списке.
Это мне чё, теперь надо экранировать самому кавычки и прочее, чтобы оно работало или делать в текущем каталоге тупой скрипт из одной строчки "$@"?