bash-completion: Fix argument passing to $1
bash-completion: Fix argument passing to $1

Our vsh bash completion string is merely just a wrapper over
virsh/virt-admin complete (cmdComplete) - a hidden command that
uses internal readline completion to generate list of candidates.
But this means that we have to pass some additional arguments to
the helper process: e.g. connection URI and R/O flag.

Candidates are printed on a separate line each (and can contain
space), which means that when bash is reading the helper's output
into an array, it needs to split items on '\n' char - hence the
IFS=$'\n' prefix on the line executing the helper. This was
introduced in b889594a70.

But this introduced a regression - those extra arguments we might
pass are stored in a string and previously were split on a space
character (because $IFS was kept untouched and by default
contains space). But now, after the fix that's no longer the case
and thus virsh/virt-admin sees ' -r -c URI' as one argument.

The solution is to take $IFS out of the picture by storing the
extra arguments in an array instead of string.

Fixes: b889594a7092440dc916e3f43eeeaca2684571ee
Signed-off-by: Michal Privoznik <83d82aaba2eed257f4814b0c239c260c4caaadf0@redhat.com>
Reviewed-by: Erik Skultety <2c14d38fa47c8799f1b9c16280abe27f8edfec6e@redhat.com>

jfehlig/libvirt,crobinso/libvirt,crobinso/libvirt,nertpinx/libvirt,zippy2/libvirt,zippy2/libvirt,libvirt/libvirt,jfehlig/libvirt,nertpinx/libvirt,olafhering/libvirt,libvirt/libvirt,libvirt/libvirt,zippy2/libvirt,nertpinx/libvirt,libvirt/libvirt,nertpinx/libvirt,zippy2/libvirt,nertpinx/libvirt,olafhering/libvirt,crobinso/libvirt,crobinso/libvirt,olafhering/libvirt,jfehlig/libvirt,jfehlig/libvirt,olafhering/libvirt