Answered step by step
Verified Expert Solution
Question
1 Approved Answer
2 . 3 Task 3 : Environment Variables and execve ( ) In this task, we study howenvironmentvariables are affected when a newprogramisexecutedviaexecve ( )
Task : Environment Variables and execve
In this task, we study howenvironmentvariables are affected when a newprogramisexecutedviaexecve
The function execve calls a system call to load a new command and execute it; this function never re
turns. No new process is created; instead, the calling processs text, data, bss and stack are overwritten by
that of the program loaded. Essentially, execve runs the new program inside the calling process. We
are interested in what happens to the environment variables; are they automatically inherited by the new
program?
Step Please compile and run the following program, and describe your observation. This program
simply executes a program called usrbinenv which prints out the environment variables of the
current process.
Listing : myenv.c
#include
extern char environ;
int main
char argv;
argvusrbinenv;
argv NULL;
execveusrbinenv argv, NULL;
return ;
Step Change the invocation of execve in Line to the following; describe your observation.
execveusrbinenv argv, environ;
Step Please draw your conclusion regarding how the new program gets its environment variables.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started