Faits:
Faits:
A. B._, né le 2 janvier 1937, a travaillé en qualité de magasinier pour le compte de l'entreprise L._ SA, jusqu'au 25 mars 1998. Depuis cette date, il a été déclaré incapable de travailler par son médecin traitant, le docteur M._. Le 7 janvier 1999, le prénommé a présenté une demande de prestations de l'assurance-invalidité tendant à l'octroi d'une rente.
Procédant à l'instruction de la cause, l'Office de l'assurance-invalidité pour le canton de Vaud (ci-après : l'office AI) s'est adressé au docteur M._, afin que celui-ci le renseigne sur l'état de santé de son patient. Selon ce médecin, l'assuré souffrait d'une périarthrite scapulohumérale sur ancienne rupture de la coiffe des rotateurs, de troubles statiques verticaux, d'une hernie hiatale, d'une oesophagite érosive et d'une hypertension artérielle. L'incapacité de travail était totale en raison des douleurs aux épaules (rapports des 24 mars et 1er décembre 1999). De son côté, le docteur S._, spécialiste en chirurgie orthopédique, a indiqué que l'assuré présentait une omarthrose et une lésion dégénérative étendue de la coiffe des rotateurs bilatérale. Seules des activités très légères ne sollicitant pas les épaules et consistant à manipuler des objets légers sans mouvements répétitifs à hauteur d'établi demeuraient exigibles. Dans de telles activités, il existait une capacité de travail résiduelle qu'il était difficile de chiffrer (rapports des 18 janvier et 5 juillet 2000).
Dans un projet de décision du 28 décembre 2000, l'office AI a informé B._ qu'il entendait rejeter la demande de prestations. Ce dernier ayant contesté le bien-fondé de ce projet, l'office AI a confié à l'Hôpital X._ le soin d'effectuer un examen clinique de l'assuré. A l'issue dudit examen, les docteurs E._ et P._ ont retenu les diagnostics d'omarthrose bilatérale avec incompétence de la coiffe des rotateurs (insuffisance du sous-scapulaire des deux côtés, rupture du long chef du biceps à droite), d'arthrose de l'interphalange des deux pouces et de spondylose hyperostosante au niveau dorsal. Dans une activité adaptée qui ne nécessitait pas le soulèvement de grosses charges et n'impliquait pas une activité des membres supérieurs, une capacité de travail normale était imaginable, pour autant que cette activité ne requît pas une agilité
distale fine. Les autres problèmes douloureux relevés au niveau ostéoarticulaire n'entraînaient pas d'incapacité de travail significative (rapport du 4 juillet 2001).
Par décision du 17 août 2001, l'office AI a rejeté la demande de prestations de l'assuré, motif pris qu'il présentait un degré d'invalidité de 31,92%, insuffisant pour ouvrir droit à une rente.
Par décision du 17 août 2001, l'office AI a rejeté la demande de prestations de l'assuré, motif pris qu'il présentait un degré d'invalidité de 31,92%, insuffisant pour ouvrir droit à une rente.
B. Saisi d'un recours de B._ contre cette décision, le Tribunal des assurances du canton de Vaud a confié au docteur I._, spécialiste en chirurgie orthopédique, la réalisation d'une expertise judiciaire. Dans son rapport établi le 21 août 2003 et complété le 26 avril 2004, l'expert a indiqué que l'assuré souffrait d'une ancienne lésion massive de la coiffe des rotateurs des deux côtés avec une arthrose excentrée de la tête humérale (arthrose gléno-humérale et conflit sous-acromial majeur), d'une polyarthrose (rachis cervical; rachis dorsal; mains), d'une hypertension artérielle traitée et de troubles statiques des deux pieds. La capacité résiduelle de travail était nulle dans la profession de magasinier; elle n'excédait pas 30% dans une activité légère n'incluant pas de position fixe des membres supérieurs ni des travaux répétitifs à hauteur d'établi; elle atteignait 50% dans une activité purement intellectuelle (bras ballants et ne nécessitant pas d'écrire de façon prolongée), étant précisé qu'il ne s'agissait que d'une appréciation purement théorique au regard de la formation de base de l'assuré et de la profession exercée jusqu'alors.
B._ a été débouté par jugement du 23 juin 2004, notifié le 23 décembre suivant, au motif que le taux d'invalidité, établi à 35,55%, demeurait insuffisant pour ouvrir droit à une rente d'invalidité.
B._ a été débouté par jugement du 23 juin 2004, notifié le 23 décembre suivant, au motif que le taux d'invalidité, établi à 35,55%, demeurait insuffisant pour ouvrir droit à une rente d'invalidité.
C. B._ interjette recours de droit administratif contre ce jugement, dont il demande l'annulation, en concluant à l'octroi d'une rente entière d'invalidité.
L'office AI conclut au rejet du recours, tandis que l'Office fédéral des assurances sociales a renoncé à se déterminer.

Considérant en droit:
Considérant en droit:
1. Dans la procédure de recours concernant l'octroi ou le refus de prestations d'assurance, le pouvoir d'examen du Tribunal fédéral des assurances n'est pas limité à la violation du droit fédéral - y compris l'excès et l'abus du pouvoir d'appréciation - mais s'étend également à l'opportunité de la décision attaquée. Le tribunal n'est alors pas lié par l'état de fait constaté par la juridiction inférieure, et il peut s'écarter des conclusions des parties à l'avantage ou au détriment de celles-ci (art. 132 OJ).
1. Dans la procédure de recours concernant l'octroi ou le refus de prestations d'assurance, le pouvoir d'examen du Tribunal fédéral des assurances n'est pas limité à la violation du droit fédéral - y compris l'excès et l'abus du pouvoir d'appréciation - mais s'étend également à l'opportunité de la décision attaquée. Le tribunal n'est alors pas lié par l'état de fait constaté par la juridiction inférieure, et il peut s'écarter des conclusions des parties à l'avantage ou au détriment de celles-ci (art. 132 OJ).
2. 2.1 La loi fédérale sur la partie générale du droit des assurances sociales du 6 octobre 2000 (LPGA), entrée en vigueur le 1er janvier 2003, de même que les dispositions de la novelle du 21 mars 2003 modifiant la LAI (4ème révision), entrée en vigueur le 1er janvier 2004, ne sont pas applicables au présent litige, dès lors que le juge des assurances sociales n'a pas à prendre en considération les modifications du droit ou de l'état de fait postérieures à la date déterminante de la décision litigieuse du 17 août 2001 (<ref-ruling> consid. 1.2 et les références).
2.2 Le jugement entrepris expose correctement les dispositions légales et les principes jurisprudentiels applicables au cas, notamment en ce qui concerne la notion d'invalidité et son évaluation, ainsi que la valeur probante des rapports et expertises médicaux, de sorte qu'il suffit d'y renvoyer.
2.2 Le jugement entrepris expose correctement les dispositions légales et les principes jurisprudentiels applicables au cas, notamment en ce qui concerne la notion d'invalidité et son évaluation, ainsi que la valeur probante des rapports et expertises médicaux, de sorte qu'il suffit d'y renvoyer.
3. En l'espèce, il n'est pas contesté que le recourant n'est plus en mesure d'exercer son ancienne activité de magasinier. Les avis diffèrent en revanche quant à savoir quelle était l'étendue de la capacité résiduelle de travail de celui-ci dans une activité légère et adaptée, au moment déterminant de la décision litigieuse.
Se fondant sur les conclusions de l'examen médical réalisé par l'Hôpital X._, lesquelles étaient corroborées par les appréciations des docteurs M._ et S._, les premiers juges ont considéré que le recourant disposait d'une capacité de travail entière dans une activité répondant aux strictes limitations fonctionnelles imposées par l'atteinte aux épaules. Quand bien même l'expertise du docteur I._ divergeait quant à l'appréciation de la capacité de travail, il y avait lieu de préférer l'évaluation de l'Hôpital X._, laquelle était contemporaine à la décision litigieuse et n'était pas remise en cause par des éléments pertinents issus de l'expertise judiciaire. Celle-ci permettait néanmoins de tenir pour établi une aggravation de l'état de santé dès le 19 août 2003, date de l'examen effectué par le docteur I._. Cette aggravation demeurait toutefois sans conséquence sur le droit à la rente, puisque le recourant avait atteint l'âge de 65 ans le 2 janvier 2002.
De son côté, le recourant conteste l'estimation de la capacité de travail retenue par les premiers juges sur la base du rapport de l'Hôpital X._. Il leur fait en particulier grief d'avoir méconnu la portée de l'expertise du docteur I._. A l'instar du docteur M._ (rapport du 28 juin 2004), ce médecin attestait en effet l'existence depuis 1998 déjà de limitations fonctionnelles graves des épaules qui l'empêchaient d'exercer n'importe quelle activité requérant l'usage des membres supérieurs. Au regard du contenu de l'expertise judiciaire, il ne pouvait dès lors être question en l'espèce d'une aggravation de l'état de santé survenue seulement à partir du 19 août 2003.
De son côté, le recourant conteste l'estimation de la capacité de travail retenue par les premiers juges sur la base du rapport de l'Hôpital X._. Il leur fait en particulier grief d'avoir méconnu la portée de l'expertise du docteur I._. A l'instar du docteur M._ (rapport du 28 juin 2004), ce médecin attestait en effet l'existence depuis 1998 déjà de limitations fonctionnelles graves des épaules qui l'empêchaient d'exercer n'importe quelle activité requérant l'usage des membres supérieurs. Au regard du contenu de l'expertise judiciaire, il ne pouvait dès lors être question en l'espèce d'une aggravation de l'état de santé survenue seulement à partir du 19 août 2003.
4. 4.1 L'assuré a droit à une rente s'il est invalide à quarante pour cent au moins (<ref-law>). Pour l'évaluation de l'invalidité, le revenu du travail que l'invalide pourrait obtenir en exerçant l'activité qu'on peut raisonnablement attendre de lui, après exécution éventuelle de mesures de réadaptation et compte tenu d'une situation équilibrée du marché du travail, est comparé au revenu qu'il aurait pu obtenir s'il n'était pas invalide (<ref-law>).
4.2 La notion du marché équilibré du travail est une notion théorique et abstraite, qui sert de critère de distinction entre les cas tombant sous le coup de l'assurance-chômage et ceux qui relèvent de l'assurance-invalidité. Elle implique, d'une part, un certain équilibre entre l'offre et la demande de main-d'oeuvre et, d'autre part, un marché du travail structuré de telle sorte qu'il offre un éventail d'emplois diversifiés. D'après ces critères on déterminera si, dans les circonstances concrètes du cas, l'invalide a la possibilité de mettre à profit sa capacité résiduelle de gain, et s'il peut ou non réaliser un revenu excluant le droit à une rente (<ref-ruling> consid. 4b; VSI 1991 p. 332 consid. 3b).
4.3 Lorsqu'il s'agit d'examiner dans quelle mesure un assuré peut encore exploiter économiquement sa capacité de gain résiduelle sur le marché du travail entrant en considération pour lui, on ne saurait subordonner la concrétisation des possibilités de travail et des perspectives de gain à des exigences excessives; l'examen des faits doit être mené de manière à garantir dans un cas particulier que le degré d'invalidité est établi avec certitude. Il s'ensuit que pour évaluer l'invalidité, il n'y a pas lieu d'examiner si un invalide peut être placé eu égard aux conditions concrètes du marché du travail, mais uniquement de se demander s'il pourrait encore exploiter sa capacité résiduelle de travail lorsque les places de travail disponibles correspondent à l'offre de la main d'oeuvre (VSI 1998 p. 296 consid. 3b et les références).
On ne saurait toutefois se fonder sur des possibilités d'emploi irréalistes, ou se borner à prendre en considération un genre d'activité quasiment inconnu du marché du travail. On ne peut en effet parler d'une activité raisonnablement exigible au sens de l'<ref-law> dans la mesure où elle n'est possible que sous une forme tellement restreinte que le marché du travail général ne la connaît pratiquement pas ou qu'à la condition de concessions irréalistes de la part d'un employeur (RCC 1991 p. 332 consid. 3b, 1989 p. 331 consid. 4a).
4.4 S'il est vrai que des facteurs tels que l'âge, le manque de formation ou les difficultés linguistiques jouent un rôle non négligeable pour déterminer dans un cas concret les activités que l'on peut encore raisonnablement exiger d'un assuré, ils ne constituent pas des circonstances supplémentaires qui, à part le caractère raisonnablement exigible d'une activité, sont susceptibles d'influencer l'étendue de l'invalidité, même s'ils rendent parfois difficile, voire impossible la recherche d'une place et, partant, l'utilisation de la capacité de travail résiduelle (VSI 1999 p. 247 consid. 1 et les références).
Toutefois, lorsqu'il s'agit d'évaluer l'invalidité d'un assuré qui se trouve proche de l'âge donnant droit à la rente de vieillesse, il faut procéder à une analyse globale de la situation et se demander si, de manière réaliste, cet assuré est (ou était) en mesure de retrouver un emploi sur un marché équilibré du travail. Indépendamment de l'examen de la condition de l'obligation de réduire le dommage (cf. <ref-ruling> consid. 3c et les références), cela revient à déterminer, dans le cas concret qui est soumis à l'administration ou au juge, si un employeur potentiel consentirait objectivement à engager l'assuré, compte tenu notamment des activités qui restent exigibles de sa part en raison d'affections physiques ou psychiques, de l'adaptation éventuelle de son poste de travail à son handicap, de son expérience professionnelle et de sa situation sociale, de ses capacités d'adaptation à un nouvel emploi, du salaire et des contributions patronales à la prévoyance professionnelle obligatoire, ainsi que de la durée prévisible des rapports de travail (arrêts F. du 27 mai 2005, I 819/04, consid. 2.2, N. du 26 mai 2003, I 462/02, consid. 2.3; W. du 4 avril 2002, I 401/01, consid. 4c).
Toutefois, lorsqu'il s'agit d'évaluer l'invalidité d'un assuré qui se trouve proche de l'âge donnant droit à la rente de vieillesse, il faut procéder à une analyse globale de la situation et se demander si, de manière réaliste, cet assuré est (ou était) en mesure de retrouver un emploi sur un marché équilibré du travail. Indépendamment de l'examen de la condition de l'obligation de réduire le dommage (cf. <ref-ruling> consid. 3c et les références), cela revient à déterminer, dans le cas concret qui est soumis à l'administration ou au juge, si un employeur potentiel consentirait objectivement à engager l'assuré, compte tenu notamment des activités qui restent exigibles de sa part en raison d'affections physiques ou psychiques, de l'adaptation éventuelle de son poste de travail à son handicap, de son expérience professionnelle et de sa situation sociale, de ses capacités d'adaptation à un nouvel emploi, du salaire et des contributions patronales à la prévoyance professionnelle obligatoire, ainsi que de la durée prévisible des rapports de travail (arrêts F. du 27 mai 2005, I 819/04, consid. 2.2, N. du 26 mai 2003, I 462/02, consid. 2.3; W. du 4 avril 2002, I 401/01, consid. 4c).
5. Le recourant, né le 2 janvier 1937, était âgé de 64 ans et demi au moment déterminant où la décision litigieuse a été rendue (17 août 2001). Il avait travaillé durant plus de trente-cinq ans en qualité de magasinier pour le compte de l'entreprise L._ SA, active dans le commerce du bois et n'avait apparemment jamais acquis aucune autre expérience professionnelle dans d'autres domaines de l'économie. L'exercice d'une nouvelle activité adaptée aux importantes limitations fonctionnelles l'affectant - activités très légères; pas de position fixe des membres supérieurs ni travaux répétitifs à hauteur d'établi - aurait impliqué par conséquent une reconversion professionnelle, partant une nouvelle formation, et présupposé de sa part des facultés d'adaptation pratiquement insurmontables.
Compte tenu du contexte personnel et professionnel, on parvient à la conclusion que le recourant n'était plus en mesure de retrouver un emploi léger et adapté à son handicap sur un marché équilibré du travail. On peine en effet à imaginer qu'un employeur eût consenti à engager le recourant, alors que celui-ci se trouvait à quelques mois à peine de l'âge de la retraite et ne disposait d'aucune expérience professionnelle en dehors de son activité de magasinier. Il est peu vraisemblable qu'un tel employeur eût investi le temps nécessaire pour dispenser au recourant un minimum de formation professionnelle pour un emploi qu'il savait d'emblée limité dans le temps. Dans la mesure où le recourant ne pouvait plus exploiter sa capacité résiduelle de travail sur le plan économique, il en résultait une incapacité de gain totale donnant droit à une rente entière d'invalidité.
Compte tenu du contexte personnel et professionnel, on parvient à la conclusion que le recourant n'était plus en mesure de retrouver un emploi léger et adapté à son handicap sur un marché équilibré du travail. On peine en effet à imaginer qu'un employeur eût consenti à engager le recourant, alors que celui-ci se trouvait à quelques mois à peine de l'âge de la retraite et ne disposait d'aucune expérience professionnelle en dehors de son activité de magasinier. Il est peu vraisemblable qu'un tel employeur eût investi le temps nécessaire pour dispenser au recourant un minimum de formation professionnelle pour un emploi qu'il savait d'emblée limité dans le temps. Dans la mesure où le recourant ne pouvait plus exploiter sa capacité résiduelle de travail sur le plan économique, il en résultait une incapacité de gain totale donnant droit à une rente entière d'invalidité.
6. S'agissant de la naissance du droit à la rente, il y a lieu de la fixer au 1er mars 1999, dès lors que l'assuré a présenté une incapacité de travail totale depuis le mois de mars 1998 (art. 29 al. 1 let. b et al. 2 1ère phrase LAI).
6. S'agissant de la naissance du droit à la rente, il y a lieu de la fixer au 1er mars 1999, dès lors que l'assuré a présenté une incapacité de travail totale depuis le mois de mars 1998 (art. 29 al. 1 let. b et al. 2 1ère phrase LAI).
7. Le litige ayant pour objet l'octroi ou le refus de prestations d'assurance, la procédure est gratuite (art. 134 OJ). Le recourant, qui obtient gain de cause, a droit à une indemnité de dépens à charge de l'intimé (art. 159 al. 1 en corrélation avec l'art. 135 OJ).

Par ces motifs, le Tribunal fédéral des assurances prononce:
Par ces motifs, le Tribunal fédéral des assurances prononce:
1. Le recours est admis et le jugement du Tribunal des assurances du canton de Vaud du 23 juin 2004 ainsi que la décision sur opposition de l'Office de l'assurance-invalidité pour le canton de Vaud du 17 août 2001 sont annulés; le recourant a droit à une rente entière d'invalidité depuis le 1er mars 1999.
1. Le recours est admis et le jugement du Tribunal des assurances du canton de Vaud du 23 juin 2004 ainsi que la décision sur opposition de l'Office de l'assurance-invalidité pour le canton de Vaud du 17 août 2001 sont annulés; le recourant a droit à une rente entière d'invalidité depuis le 1er mars 1999.
2. Il n'est pas perçu de frais de justice.
2. Il n'est pas perçu de frais de justice.
3. L'intimé versera au recourant la somme de 500 fr. (y compris la taxe à la valeur ajoutée) à titre de dépens pour l'instance fédérale.
3. L'intimé versera au recourant la somme de 500 fr. (y compris la taxe à la valeur ajoutée) à titre de dépens pour l'instance fédérale.
4. Le Tribunal des assurances du canton de Vaud statuera sur les dépens pour la procédure de première instance, au regard de l'issue du procès de dernière instance.
4. Le Tribunal des assurances du canton de Vaud statuera sur les dépens pour la procédure de première instance, au regard de l'issue du procès de dernière instance.
5. Le présent arrêt sera communiqué aux parties, au Tribunal des assurances du canton de Vaud et à l'Office fédéral des assurances sociales.
Lucerne, le 27 juillet 2005
Au nom du Tribunal fédéral des assurances
Le Président de la IIe Chambre: Le Greffier: