Non %20 ne passe pas ... à la limite un caractère '\x20' peut-être, mais j'ai la flemme de tester :p
Il ne s'agit pas de langage C mais de langage C faisant appel à un autre langage (celui des commandes batch).
edit : je viens de réfléchir, même si le \x20 ou n'importe quoi d'autre faisant un espace ça ne peut PAS passer, puisque le problème n'est pas la représentation de l'espace, mais l'interprétation de l'espace qui fait suite ! et pour ça il n'y a pas d'autre moyen (je crois) que de mettre des guillemets pour "empaqueter" la chaîne de caractères