cp
deve fazer o que quiser. O problema é que você não está percorrendo uma pasta. Você está fazendo apenas uma iteração com o "folder"
sendo o conteúdo da variável $file
. Tente iterar sobre o arquivo globbing, assim:
for file in folder/*
do
cp -vf 'image.png' "$file"
done
Eu adicionei um -v
para que você possa obter uma saída mais detalhada para ver qualquer erro, mas você pode desativá-lo assim que obtiver os resultados corretos.