So...
LD_PRELOAD is a tool to point a program (here Skype) to search for libraries in places that are not stored in its data base.
As we saw LD_PRELOAD works in Terminal but not in *.desktop file in Xfce.
Additionally LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so is deleted by Skype immediately after it start and reads it.
Then you better create a custom launcher with this Terminal command
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype
and use it instead of a .desktop file.
?
I tried it and clicking on "run in terminal" and an empty terminal screen shows with no user to login.
Also tried Exec='LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype' and no launch.

OK, this is getting silly. In your
/home/<you> directory, create a new directory named
bin. Copy the
purple text below into your text editor, press the
Enter key to start a new line, and
Save As /home/<you>/bin/skypeload.
#!/bin/bash
# Name: skypeload
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skypeOpen the
~/bin directory, right click on the
skypeload file and choose
Properties. Click the
Permissions tab and mark the file as executable.
By default, your
~/bin directory is in your $PATH, If you open a terminal, and at the prompt type;
[<you>@localhost ~]$ skypeload <Enter>
Skype should launch. If that works for you, close Skype by right clicking the icon in the system tray and choosing
Close.
Again, edit the
/usr/share/applications/skype.desktop file to change the
Exec= line to;
Exec=skypeload then
save the file. Log out, then log in. In your main menu, in the
Internet section, click the
Skype icon and see if Skype now launches.
If Skype still fails to launch, copy the
/usr/share/applications/skype.desktop file to your
desktop, and try launching from that icon.