Você pode manter uma contagem:
- Para cada arquivo, incremente a contagem
- Se a contagem atingir 5,
wait
e redefinir a contagem
Assim:
#!/bin/bash
count=0
for i in *.jpg; do
xload -update 1 &
convert "${dir}/$i" -flip -set filename:t '%d/%t-change' '%[filename:t].jpg' &
((count++))
if [ $count = 5 ]; then
wait
count=0
fi
done
if [ $count != 0 ]; then
wait
fi