Суффикс -ч- в слове «врач» несет значение лица, совершающего действие. Точно так же образованы существительные: ткать — ткач или рвать — рвач. Если следовать этой схеме, получается, что врач — это тот, кто врет. За что же наши предки обвиняли всех знахарей во лжи?
Их назвали врачами за то, что они постоянно врали. Но почему?

Если верить убеждениям Фасмера, слово «врач» — это не что иное, как производное от глаголов «врать» и «ворчать». Это сейчас в словарях напротив глагола «врать» мы найдем определение: «говорить неправду», «сочинять небылицы» и «обманывать». Но так было далеко не всегда.
В «Капитанской дочке» Александра Сергеевича Пушкина встречаются слова: «Не все ври, что знаешь». Согласитесь, что если заменить в этой фразе «ври» на «лги», теряется всякий смысл. А все потому, что изначально «врать» для наших предков означало то же, что и «говорить».
Только после XIX века исконное значение слова начало терять свои позиции. И слово «врать» стало синонимом к «лгать» и «говорить неправду».
Но почему людей, занимающихся лечением больных и раненых, так назвали?

Это сейчас под словом «врач» мы подразумеваем специалиста с высшим медицинским образованием, занимающегося лечебно-профилактической деятельностью. Но так было не всегда. В древние времена не было лекарств, болезни лечились с Божьей помощью, а когда и это не помогало, в ход шло прикладывание подорожника под убедительные заговоры знахаря. Поэтому «врач» — это тот, кто «врет», то есть «говорит», «бормочет», «заговаривает».
Вот и получается, что слова «врач», «врать» и «ворчать» произошли от одного и того же древнего корня.