Das hier klappt im Test bei mir:
#!/bin/bash
for i in $( find ./* -type d); do
cp $1 $i
done
Das Skript geht davon aus, dass die Datei bereits im aktuellen Verzeichnis vorliegt und in alle Unterverzeichnisse desselben kopiert werden soll.
Der find-Befehl findet alle Verzeichnisse unterhalb des aktuellen, die for-Schleife schreibt die Namen einzeln in die Variable i und der cp-Befehl verwendet das erste (und einzige) Argument des Befehls als Dateinamen. Wenn du dieses Skript als 'cp2sd' im Pfad speicherst (copy to subdirectories) und die zu kopierende Datei 'test' heißt, benutzt du also
cp2sd test
Robin