I could be mistaken, but if this string is being passed through bash at any point,  the <code>!, *, (, ), [, ], {, }, ;, >, and ?</code> characters could get parsed by the shell instead of passing through to the virsh command.  Especially the <code>!</code> could result in some nasty unexpected behaviour if it happens to match a prior dangerous command :S