Алексей Черемисин, не знаю как бинарник называется, но из командной строки, как выше описал, вызывается bash - терминал. какой мне и нужен. Ошибок никаких нет при вызове вышеприведенной программы (соответственно argv[2], у меня это программа которую я хочу открывать в терминале)...
Предлагаю сначала получить значение переменной окружения $SHELL, потом это значение (путь к исполнимому файлу) передать вызову exec, но до этого надо породить процесс (fork). Мануалы в помощь. Задача типовая. Надеюсь, дело происходит в Unix?
Можно по-топорному - через system(), при этом родительский процесс приостанавливается на время выполнения потомка.
Можно более-менее правильно - через fork() и exec(), потом словить код возврата через waitpid()