Этимологический словарь Крылова
По всей видимости, восходит к той же основе, что и глагол врать. Современное значение существительного развилось, когда у глагола еще не было негативного оттенка. Таким образом врач – это тот, кто заговаривает, а врать в старые времена значило просто "говорить".