The subprocess Popen call that accepts a full std::string has many issues:
- It promotes brittle and broken code, where spaces are not properly quoted. Example: #33929 (review)
- The internally used
util::splitfunction does incorrectly split on spaces, instead of usingshlex.split. - It is redundant and not needed, because a vector interface already exists.
Fix all issues by removing it and just using the vector interface.
This pull request should not change any behavior: Note that the command taken from gArgs.GetArg("-signer", "") is still passed through the sp::util::split helper, just like before. Fixing that is left for a follow-up, so that this change here is basically just a refactor.
This also fixes a unit test bug as a side-effect: Fixes #32574.