my_system함수를 이용해서 cp명령을 할려고하는데요.

베리스타의 이미지

아래 함수를 man system에 나온 함수를 이용해서 만들었습니다.
command 변수에는 /bin/mv -f /home/test/수정/ch/mem /home/test/수정/ch1/mem 가 들어가 있습니다.

근데 cp명령이 실행이 안되네요.>.<

에러는 없고 실행은 안되서 여쭤봅니다.

잘못된 부분좀 알려주세요^^

int my_system (char *command)
{
	int pid, status;
	
	if (command == 0)
		return 1;
	pid = fork();
	if (pid == -1)
		return -1;
	if (pid == 0)
	{
		char *argv[4];
		char *environ[50];
		argv[0] = "sh";
		argv[1] = "-c";
		strcpy(argv[2], command);
		md_printf(MD_DEBUG_FILE_COPY, "command = %s\n", command);
		argv[3] = 0;
		execve("/bin/sh", argv, environ);
		exit(127);
	}
	do
	{
		if (waitpid(pid, &status, 0) == -1)
		{
			if (errno != EINTR)
				return -1;
		}
		else
		{
			md_printf(MD_DEBUG_FILE_COPY, "\thm..status = %d\n", status);
			return WIFEXITED(status);
		}
	}
	while(1);
}


그럼 즐거운 하루되세요~