「先着30名様」は、the first 30 customers ですが、ここでは「開店から」なので、「早く来る人」という意味の early bird(早起きの人という意味でも使います)を使って、
30 early bird customers
とするといいでしょう。
「販売します」は日本語では主語がお店ですが、今の 30 early bird customers を主語にすれば「手に入れる」ので、get を動詞にします。
そこで、
Only the 30 early bird customer will get a canned tuna for 98 yen. One for each.
として、最後に「1人あたり1つ」を加えます。
"Only the first 30 customers at opening can get a canned tuna for 98 yen. One per person."
「開店から先着30名様」は英語で "the first 30 customers at opening" と表現します。「開店から」は "at opening" と、「先着30名様」は "first 30 customers" と訳せます。
今回の場合は、「ツナ缶を98円で販売します」部分は "get a canned tuna for 98 yen" と表現できます。「販売します」は主語がお店ですが、英語では "get" を使うことで買い物の結果を表現できます。
そして、「お一人様1個限り」の部分は、"One per person" と言います。「1個」を "one"、 「限り」を "per"と訳します。
したがって、「開店から先着30名様に限り、お一人様1個限りでツナ缶98円で販売します。」という日本語表現は、英語では "Only the first 30 customers at opening can get a canned tuna for 98 yen. One per person." となります。