Shall I help you? という文自体は,文法的にまちがっていませんが,May I help you? とは使う場面がちがいます。
May I help you? はお店などで店員がお客に話しかけるときに使う慣用表現で,このまま使う定番の言い方です。
お店の人がお客に使う「いらっしゃいませ」「お手伝いしましょうか」は,「~しましょうか」という日本語の意味は気にせず,May I help you?で表しましょう。
一方,Shall I help you? は,お店などではなく,何か困っている人に対して「手伝いましょうか」と言うときに使います。