libguestfs documentation did not specify that special characters should be surrounded by quotes or otherwise "escaped" when used with the virt-ls command at the command line. The following has been added to the libguestfs documentation:
Libvirt guest names can contain arbitrary characters, some of which have meaning to the shell such as # and space. You may need to quote or escape these characters on the command line. See the shell manual page sh(1) for details.