> This "vulnerability" doesn't even need to involve a shell at all - any exec*() with the same arguments will have the same result.
Wildcard expansions are done by shells, so no, exec() wouldn't trigger this "vulnerability".
Unless you're talking about a specific language's exec() that either does its own wildcard expansion, or actually runs its arguments in a shell.