Se vuoi farlo sotto Linux esistono molti modi...
Tutta via non so se c'e' la possibilita' di farlo tramite una funzione

Se il programma dev'essere eseguito al boot da parte dell'utente root devi avere i suoi permessi quando esegui il programma...
Una possibile strada, nel caso che il tuo programma e' un demone, sarebbe aggiungere uno script in /etc/init.d (o /etc/rc.d/init.d) che si occupi di eseguire il tuo demone... Quindi eseguire il comando `rc-update add script runlevel` dove script e' il nome dello script che esegue il programma e che si deve trovare in /etc/init.d (o /etc/rc.d/init.d a seconda della distribuzione), e runlevel e' il runlevel durante il quale vuoi che venga eseguito il programma...
Altrimenti, se non e' un demonde e non vuoi aggiungerlo in /etc/init.d, potresti aggiungere una stringa in /etc/conf.d/local.start (almeno sulla Gentoo si fa cosi'... Sulle altre distribuzioni non ricordo ), ed all'avvio del sistema, quando verra' eseguito il servizio local, verranno eseguiti tutti i programmi che si trovano in quel file...

Se vuoi eseguire il programma da utente potresti aggiungere il comando in uno dei files di configurazione il cui contenuto viene avviato al login nel terminale, al login in un'interfaccia grafica etc...


Per entrambe le domande ti consiglio comunque di postare nel forum di Linux, dove oltre a saperti consigliare il miglior modo per fare cio' che vuoi ti sapranno forse anche dire se esiste qualche funzione che ti venga in aiuto...