/* dboot.c - program for inittab to execute and start processes for the test station. Arguments are: tty to use for console program to run (most likly login) [any program args] example: c1:respawn:/usr/local/dboot tty1 login -f adams will startup user 'adams' on console 1 */ #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h> #include <unistd.h> int main(int ac, char **av) { char cdev[50]; char buf[50]; int fd; pid_t pid; strcpy(cdev,"/dev/"); strcat(cdev,av[1]); /* Console device */ if (-1 == (fd = open(cdev,O_RDWR))) { perror("open"); exit(0); } close(0); if (-1 == (dup(fd))) { perror("dup 0"); exit(0); } close(1); if (-1 == (dup(fd))) { perror("dup 1"); exit(0); } close(2); if (-1 == (dup(fd))) { perror("dup 2"); exit(0); } if (-1 == execvp(av[2],&av[2])) { perror("execvp"); exit(0); } }