system, execl, exeve PATH 차이 system 의 경우 결국execve("/bin/sh", "-c", "blabla...");이거고 execl 의 경우 execve("blabla", "arg1", ...);이거인데. 원래 execve 자체는 PWD 상에 실행할 프로그램을 검색하지만/bin/sh -c 로 주어지는 프로그램은정확한 PATH 변수에 있는경우만 뒤져서 실행됨. 이것때문에 차이가남... 예를들어 execlp 같은경우 PATH 환경변수 의 디렉토리들을 뒤지면서 "nit" 명령을 아래처럼 찾음... Breakpoint 3, 0x556434c0 in execve () from /lib/i386-linux-gnu/libc.so.6(gdb) b *0x556434e8Breakpoint 4 at 0x556434e8(gdb) cContinuin.. 더보기 이전 1 ··· 6 7 8 9 10 11 12 ··· 423 다음