Can you sing a song for my mother? と Can you sing a song to my mother?、文法的にはどちらも正しいですが、ニュアンスを考えるとCan you sing a song for my mother?の方が正しいです。
Can you sing a song for my mother?→私の母のために歌を歌ってくれますか?
Can you sing a song to my mother?→私の母に歌を歌ってくれますか?(「のために」のニュアンスがなく、ただお母さんに歌を歌うだけ)
また、Can you sing my mother a song?とも言えます。Can you sing a song for my mother?と同じく、「私の母のために歌を歌ってくれますか?」と意味し、「母のために」のニュアンスが強調されます。
例文
sing a song for me / sing me a song→私のために歌を歌う
write a letter for me / write me a letter→私あてに(私のために)手紙を書く
cook a meal for me / cook me a meal→私のために食事を作る
ご質問ありがとうございます。
・「Can you sing a song for my mother? 」
=「私の母に一つの歌を歌ってくれますか。」
(例文)Can you sing a song for my mother? // Of course!
(訳)私の母に一つの歌を歌ってくれますか。//もちろん!
・Can you sing for my mother?
=「私の母に歌を歌ってくれますか。」
お役に立てれば嬉しいです。
Coco