The seamer will miss the first Test in Chennai from March 26-30, but will be considered, if fit, for the second Test in Ahmedabad from April 3-7 and the final match in Kanpur from April 11-15.
Sharma is the only exclusion from the 11 that played in India's last Test, against Australia in Adelaide in January, which ended in a draw and left the hosts 2-1 winners.
Opening batsman Wasim Jaffer, middle-order batsman Yuvraj Singh, pace bowler Shanthakumaran Sreesanth and Kartik have been added to the Adelaide team.
Gary Kirsten, India's new South African coach, also has three seam bowlers to choose from for the first Test, besides a rich choice of seven frontline batsmen.
However injury worries dominated the announcement of the squad by Niranjan Shah, Indian cricket board secretary, after a meeting of the five-man selection committee in Bangalore.
Piyush Chawla, 19-year-old leg-spinner, was put on stand-by in case Kartik or Harbhajan fail to recover in time from minor injuries.
Kartik sprained his ankle during a domestic one-day match on Monday, while Harbhajan will undergo a fitness test on March 21 for a hamstring niggle sustained during the Australian tour.
Pace spearhead Zaheer Khan has already opted out of the series, saying he had not fully recovered from an ankle injury suffered in January.
India's Test squad:
Anil Kumble (capt), Wasim Jaffer, Virender Sehwag, Rahul Dravid, Sachin Tendulkar, Sourav Ganguly, Venkatsai Laxman, Yuvraj Singh, Mahendra Singh Dhoni (wicket-keeper), Irfan Pathan, Shanthakumaran Sreesanth, Rudra Pratap Singh, Harbhajan Singh, Murali Kartik.
Coach: Gary Kirsten (RSA)