LINUX.ORG.RU

execve


0

0

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <linux/types.h>

int main ( int argc, char *argv[])
{
	char rules_1[300];
	char rules_2[300];
	strcpy ( rules_1, "/bin/ls");
	strcpy ( rules_2, "-la");

	execp ( rules_1, rules_2);

	return 0;
}

ls выполняется, а вот аргумент -la на передается, подскажите в чем ошибка? Перепробовал все варианты - execl, execlp, execle, execv, execvp.
anonymous

Что за загадочная ф-я execp ?
Если имеется в виду exclp то ошибка очевидна .
rules_2 используется как argv[0] т.е. имя исполняемой команды

hyde
()

execlp(rules_1,rules_1,rules_2,NULL)

Chumka ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.