I know this answer is kind of late but since it could help some people, I'm posting it.
From septi's code plus some modifications, here is my solution :
#!/bin/bash
wallpaperdir="$HOME/wallpaper"
files=($wallpaperdir/*)
randompic=`printf "%s\n" "${files[RANDOM % ${#files[@]}]}"`
echo -e "# xfce backdrop list\n$randompic">$HOME/.config/xfce4/desktop/backdrop.list
xfdesktop --reload
The single quotes must be replaced by double quotes in order for the computer to interpret the $HOME part correctly. Also, the file you want to edit is backdrop.list, not backdrops.list. And finally, I find that using killall is kind of excessive in this case, since you can simply reload xfdesktop.
I've tested it on my computer (Linux Mint Debian Edition) and it seems to work perfectly.
Hope it helps. =)
EDIT : I forgot to mention that you have to add DISPLAY=:0.0 before your command, in crontab. That gives
*/1 * * * * DISPLAY=:0.0 wallpaper.sh