This look more reasonable?
Yep. Only a few bugs left. Because cmdline buffer belongs to the calling application you should not modify the buffer. Use of memcpy or something like that would be recommended. Also, use of variable "status" is a mystery to me. If CreateProcessA fails, it might not initialize handles and even if it does not fail, they might be null handles (I don't know if that matters, though).