He was born at Tordarroch House, Pitlochry, Scotland around 1740 and came to Staten Island, New York around 1770. He joined the Queen's Rangers at the start of the American Revolution, later becoming a captain. After the British surrender at Yorktown, Virginia, he settled in the Nashwaak River area of New Brunswick. He rejoined the re-formed Queen's Rangers and moved to Kingston in Upper Canada in 1792. When he was appointed to the Executive Council and Legislative Council of Upper Canada in 1794, he moved to Niagara. In 1793, he helped prepare the site for the new capital at York (Toronto). In 1796, he was appointed lieutenant for the county of York.
In 1811, as tensions heightened with the United States, Shaw became a major-general in the militia responsible for training. However, the legislation only required recruits to train for three days a month. Shaw's troops did not perform well during the first capture of York during the War of 1812.
He died at York in 1814.