- Using a directory params with 1,2,3,4 for argv This would make substituting a single argument easier, but only if you know which one you have to change. This would add an additional dirent(), which would not replace the current read(), but add more open() and close()s. - Using TCP/IP sockets This would be a very small change in the code, but would allow to control cinit over network. Since there is no authentication, this would be highly insecure. On the other hand, cinit could control the parallel start of many hosts, if they should become 'one' computer at the end.