[Techtalk] wrapping unix commands

Elwing elwing at elwing.org
Fri Apr 8 06:02:06 EST 2005


check out the man page for execve and friends

it makes a system call - which means the C program would have to be run
as root (or suid root).

the basic usage is: (without allocating memory which you'll have to do!)
char * args[2];
args[0] = "argument 1";
args[1] = NULL;

execve("pciconf", args, NULL);

(that NULL in execve means that I'm not setting any environment
variables. - you set up a separate array with environment varables in it)


WARNING!  you can open up security holes by doing this - so be careful!!

More info and examples in the man page
(http://www.frech.ch/man/man3p/execve.3p.html)

Elwing


overhaul wrote:
> Hello!
> 
> I'm in a bit of a pinch.   I have limited C knowledge but have been told
> it's quite simple to write a C wrapper around unix commands.   I have a
> need now to create a few wrappers for commands that kernel will not
> allow any non-root user to run ... such as pciconf.
> 
> I have scoured the net but either the info doesn't exist (doubtful) or
> I'm not looking in the right places.
> 
> Does anybody have a clue how to write a C wrapper?
> 
> thanks!!
> -T
> _______________________________________________
> Techtalk mailing list
> Techtalk at linuxchix.org
> http://linuxchix.org/cgi-bin/mailman/listinfo/techtalk


More information about the Techtalk mailing list