I am trying to run a bash script to generate an OpenSSL certificate. I have the bash script in the same directory as my c code.
Relevant C code:
pid_t pid = fork();
if(pid > 0){
char* arr[] = {"./generate_cert.sh", "direct"};
int succ = execv(arr[0], arr);
printf("succ: %d\n", succ);
exit(1);
}else if(pid < 0){
printf("Fork failed\n");
exit(-1);
}
generate_cert.sh, My test bash script which I will eventually expand is:
#!/bin/bash
echo "$1"
It seems I have a permission denied with ./generate_cert.sh. I need to instead run bash generate_cert.sh. How do I do this with execv?
perror("execv failed")to get the actual error.bash generate_cert.sh?