
Opening batsman Murali Vijay was dropped after his disappointing show in the first two Tests at Edgbaston.
The 34-year-old was replaced by Shikhar Dhawan in the team for the third Test which the visitors won to narrow England’s lead to 2-1 after three matches of the five-game series.
Wrist-spinner Kuldeep Yadav was sent home to play for the India A team in two four-day matches against Australia A.
The 18-year-old Shaw earned his maiden test call-up on the back of a string of strong performances for India A, including a knock of 188 against West Indies A last month.
Vihari has been one of the most consistent performers in domestic cricket, averaging 59.79 in 63 first-class matches.
Off-spinner Ravichandran Ashwin retained his spot in the squad despite struggling with a hip injury during the third Test.
The fourth Test begins on August 30 at the Rose Bowl in Southampton.