Ah.. This looks as if YOUR echo command is writing the three commandline
arguments in different "write" calles to the file.
something like:
for (i=1;i<argc;i++) {
write (1,argv[i],strlen (argv[i]);
if (i < argc -1 ) write (1, " ",1);
My tcsh and bash internals and the /bin/echo command on my Red Hat 4.2
system all do it in one go.....
i.e. something like
buf[0] = '\0';
for (i=1;i<argc;i++) {
strcat (buf,argv[i]);
if (i < argc -1 ) strcat (buf," ");
write (1,buf, strlen (buf));
(see: the second code snippet is longer..... :-)
Roger.