Código:
#!/bin/bash
for i in *.c; do
O_FILE = $i.o
if [ -e $O_FILE ]; then
cp $i.c $i.o directorio/
fi
done
Si me he equivocado seguro que es algo muy parecido
Por cierto, sugerencia:
http://www.zonasiete.org/manual/multi/ch07.html
Y si algo te parece que no está bien, de paso nos ayudas a mejorarlo.
Un saludo,