     ]
     guard posix_spawn(&archiver, Process.unsafeArgv[0],
                       &archiverActions, nil,
-                      archiverArgv, nil) == 0 else {
+                      archiverArgv, envp) == 0 else {
       fatalError("posix_spawn failed")
     }
   }

  }
}

// FIXME: Should be in the Darwin/Glibc overlay
func WIFEXITED(status: Int32) -> Bool {
  return (status & 0o177) == 0
}
func WEXITSTATUS(status: Int32) -> Int32 {
  return (status >> 8) & 0xFF
}

func driver() {

  let pipeRead = pipes[0], pipeWrite = pipes[1]

  var archiver: pid_t = 0, unarchiver: pid_t = 0

  let envp = environ

  do {
    // Set up the archiver's stdout to feed into our pipe.
