Tente remover os colchetes. Este comando funciona para mim direcly no terminal e em um shell bash (cp alterado para 'arquivo' para verificar se funciona ..):
find . -type f -name "a4*" -o -name "d1*" -o -name "f2*" -mtime -8 | xargs file
Você também pode tentar um loop for, que pode lhe dar mais espaço (loop) para fazer thigs. Altere a linha find
com
for a_file in 'find $adir -type f \( -name "a1*" -o -name "a2*" -o -name "a3*" \) -mtime -8'
do
cp -t $a_file $bdir
done
Você pode reproduzir removendo -mtime -8
e alterar cp -t $a $bdir
de echo "The file is: " $a_file
para testes ...