A maneira de manipular arquivos com espaços é usar a diretiva -print0 para encontrar o GNU e a opção -d para o comando read do bash. Também é imperativo citar o "$variable"
find pics/ -type f -print0 | while IFS= read -rd "" filename; do
v=$((RANDOM % 2))
if (( v == 0 )); then
cp "$filename" dups/$RANDOM.jpg
fi
done
Os bits IFS= e -r garantem que os espaços e barras invertidas sejam manipulados corretamente pelo comando read .
Dentro de expressões aritméticas (( ... )) , você pode fornecer variáveis shell sem o $ .