Garcia was injured when he attempted a diving catch in the sixth inning of Wednesday's loss at Colorado. Preliminary X-rays were negative for a fracture, separation or dislocation, but an MRI on Thursday in Chicago revealed the torn labrum.
The 22-year-old, who was getting his first chance to become an every-day player, was described as distraught when he learned the extent of his injury.
"Obviously, it's lousy. It stinks for the kid, who is crushed right now, who is very disappointed," general manager Rick Hahn said. "He was hoping this was going to be a temporary thing but obviously understands the medical situation and the realities in front of us and what they are. He's taking it very hard."
The White Sox recalled outfielder Jordan Danks from Triple-A Charlotte to take Garcia's place on the roster, but Dayan Viciedo and Alejandro De Aza will start regularly in the outfield flanking center fielder Adam Eaton, at least for now.
"It becomes an opportunity for somebody," manager Robin Ventura said. "Where [Viciedo] was two days ago, it was a different situation. Hopefully he can take advantage of this."
Garcia was batting .267 with two home runs in his first full season in the major leagues. He was acquired from the Detroit Tigers as part of a three-way trade that sent Jake Peavy to the Boston Red Sox.
Hahn said Garcia is expected to have no restrictions by the time 2015 spring training rolls around.
"It's not the kind of thing he can't come back from; it's not the kind of thing that he's going to have lingering effects on his ability or his ceiling," Hahn said. "It's just an unfortunate development that's pushed him back a year in terms of being an every-day guy in Chicago."