포너블/포너블 공부

execve() 함수

삼전동해커 2020. 9. 8. 14:09

execve 함수에 대해 알아보자.


int execve(const char *filename, char *const argv[], char *const envp[]);

파일이름        파일인자의 포인터     환경변수의 포인터


execve는 filename이 가리키는 파일을 실행한다. 이 파일은 바이너리 실행파일이거나 스크립트 파일이여야 한다.  argv와 envp는 포인터 배열로 filename의 인자로 들어간다. 마지막에 NULL문자열을 저장해야 한다.



위 코드는 /bin/sh를 실행시키는 코드다.




실행하면 이렇게 쉘이 실행되는걸 볼수 있다.