You could see how other people do it. Looks like you're trying to create something similar to Synaptic, you may check in their source.
If you use the traditional C standard lib, you can choose from:
popen()
- Opens a process with stdio IO streams to read/write to the processsystem()
- Executes a process with same IO streams as parent
or:
fork()
+execl()
(or exec variants) which is essentially howsystem()
is implemented.
Try the man pages on all of these.
Also, order "Advanced Programming in the UNIX Environment" by W. Richard Stevens
You are attempting to (1) do command line parsing and (2) perform an installation of software. You should know that apt-get is a significant undertaking.
The portable way to do this is with system()
. The way that's less portable, but more flexible would be to use fork()
followed by exec()
. There is also popen, if you need/want to communicate with the child via its stdin
or stdout
(e.g., if you want to capture its output and display it in a window).
If using C is not a must, you can try coding in Python(Perl). You will greatly reduce development time, and you can use GUI modules like tkinter(Python) or Tk(Perl) etc that are easy to use. you will have your GUI up in no time.