Indian (Gujarat, Rajasthan, MP, UP): Hindu (Bania, Vania) and Jain name, from Gujarati sah 'merchant' (from Sanskrit sadhu 'honest', 'good'). This name was originally Sah; it appears to have been altered under the influence of the Persian word for 'king'.
Shah or its variants "Sah", "Shaha", "Sahu" or "Sha" is a common Gujarati last name.
A large fraction of all Jain, vaishnavas, especially from Gujarat and southern Rajasthan, have the last name "Shah".
Sometimes it is mistakenly thought that it is derived from the Persian "Shah" meaning "King". Actually it is of Indian origin. It is derived from Sanskrit Sadhu (meaning gentleman) and Prakrit Sahu, while the actual spelling "Shah" in Western culture was popularized by the title of the former Persian King. As a result, especially in Western culture, the usuage of the spelling "Shah" has become far more pronounced than the other variants.