rework the exec argument passing to use execv() and argv instead of the static string for execl()