-pid_t pipecmdv(int *infd, int *outfd, const char *cmd, va_list ap);
+pid_t pipecmdv(int *infd, int *outfd, int *errfd, const char *cmd, va_list ap);
+
+/**
+ * pipecmdarr - run a command, optionally connect pipes (char arry version)
+ * @infd: input fd to write to child (if non-NULL)
+ * @outfd: output fd to read from child (if non-NULL)
+ * @errfd: error-output fd to read from child (if non-NULL)
+ * @arr: NULL-terminated array for arguments (first is program to run).
+ */
+pid_t pipecmdarr(int *infd, int *outfd, int *errfd, char *const *arr);