system("") 내에 변수를 사용할 수 있는지요?

lolcat의 이미지

CGI를 이용해서 system call을 사용하려고 하는데요

system("printf("%s",tmp)");

이런 식으로 사용할 수 있나요?

아니면 변수를 직접 사용할 수있는 방법이 없을까요?

gamdora의 이미지

const char *opt = "-lh";
char cmd[4096];
sprintf(cmd, "ls %s", opt);
system(cmd);

위처럼 쓰시면 됩니당.
그럼 "ls -lh"가 system 함수로 넘어가죠.