Break your team up into 2 or 3 teams. If you do 2 teams you’ll need 8 or 9 on a team with a player for each defensive position. If you only have 8 on a team you can eliminate either the pitcher, catcher, or one outfielder based on what is a priority for your team that day.  If  you only have 12-15 players on your team break it up into 3 teams of 4-5. Then place two of the teams on defense and one team hitting fungoes. No matter what, have the teams and batting orders pre-made before practice. This will eliminate unnecessary downtime during practice.
Though entertaining enough, this play appears in its entirety as a small part of Sorrentino's magnum opus MULLIGAN STEW. You can read it as easily there as in this form. Plus you'll have the rest of Mulligan Stew as well. So I recommend you only buy this volume if you're the sort of collector who owns books because of what they are, not what they say.

If you have attended a Major League Baseball game in the last 15 years, pregame infield practice, known simply as infield, may be unfamiliar. All but abandoned by the early 2000s, the ritual lives on at the C.W.S. and at college stadiums all over the country. On Monday night, the routine will be repeated before Virginia takes on Vanderbilt in the first game of the finals.

(function(){"use strict";function s(e){return"function"==typeof e||"object"==typeof e&&null!==e}function a(e){return"function"==typeof e}function l(e){X=e}function u(e){G=e}function c(){return function(){r.nextTick(p)}}function f(){var e=0,n=new ne(p),t=document.createTextNode("");return n.observe(t,{characterData:!0}),function(){t.data=e=++e%2}}function d(){var e=new MessageChannel;return e.port1.onmessage=p,function(){e.port2.postMessage(0)}}function h(){return function(){setTimeout(p,1)}}function p(){for(var e=0;et.length)&&(n=t.length),n-=e.length;var r=t.indexOf(e,n);return-1!==r&&r===n}),String.prototype.startsWith||(String.prototype.startsWith=function(e,n){return n=n||0,this.substr(n,e.length)===e}),String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}),String.prototype.includes||(String.prototype.includes=function(e,n){"use strict";return"number"!=typeof n&&(n=0),!(n+e.length>this.length)&&-1!==this.indexOf(e,n)})},"./shared/require-global.js":function(e,n,t){e.exports=t("./shared/require-shim.js")},"./shared/require-shim.js":function(e,n,t){var r=t("./shared/errors.js"),i=(this.window,!1),o=null,s=null,a=new Promise(function(e,n){o=e,s=n}),l=function(e){if(!l.hasModule(e)){var n=new Error('Cannot find module "'+e+'"');throw n.code="MODULE_NOT_FOUND",n}return t("./"+e+".js")};l.loadChunk=function(e){return a.then(function(){return"main"==e?t.e("main").then(function(e){t("./main.js")}.bind(null,t))["catch"](t.oe):"dev"==e?Promise.all([t.e("main"),t.e("dev")]).then(function(e){t("./shared/dev.js")}.bind(null,t))["catch"](t.oe):"internal"==e?Promise.all([t.e("main"),t.e("internal"),t.e("qtext2"),t.e("dev")]).then(function(e){t("./internal.js")}.bind(null,t))["catch"](t.oe):"ads_manager"==e?Promise.all([t.e("main"),t.e("ads_manager")]).then(function(e){undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined}.bind(null,t))["catch"](t.oe):"publisher_dashboard"==e?t.e("publisher_dashboard").then(function(e){undefined,undefined}.bind(null,t))["catch"](t.oe):"content_widgets"==e?Promise.all([t.e("main"),t.e("content_widgets")]).then(function(e){t("./content_widgets.iframe.js")}.bind(null,t))["catch"](t.oe):void 0})},l.whenReady=function(e,n){Promise.all(window.webpackChunks.map(function(e){return l.loadChunk(e)})).then(function(){n()})},l.installPageProperties=function(e,n){window.Q.settings=e,window.Q.gating=n,i=!0,o()},l.assertPagePropertiesInstalled=function(){i||(s(),r.logJsError("installPageProperties","The install page properties promise was rejected in require-shim."))},l.prefetchAll=function(){t("./settings.js");Promise.all([t.e("main"),t.e("qtext2")]).then(function(){}.bind(null,t))["catch"](t.oe)},l.hasModule=function(e){return!!window.NODE_JS||t.m.hasOwnProperty("./"+e+".js")},l.execAll=function(){var e=Object.keys(t.m);try{for(var n=0;n=c?n():document.fonts.load(u(o,'"'+o.family+'"'),a).then(function(n){1<=n.length?e():setTimeout(t,25)},function(){n()})}t()});var w=new Promise(function(e,n){l=setTimeout(n,c)});Promise.race([w,m]).then(function(){clearTimeout(l),e(o)},function(){n(o)})}else t(function(){function t(){var n;(n=-1!=y&&-1!=g||-1!=y&&-1!=v||-1!=g&&-1!=v)&&((n=y!=g&&y!=v&&g!=v)||(null===f&&(n=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent),f=!!n&&(536>parseInt(n[1],10)||536===parseInt(n[1],10)&&11>=parseInt(n[2],10))),n=f&&(y==b&&g==b&&v==b||y==x&&g==x&&v==x||y==j&&g==j&&v==j)),n=!n),n&&(null!==_.parentNode&&_.parentNode.removeChild(_),clearTimeout(l),e(o))}function d(){if((new Date).getTime()-h>=c)null!==_.parentNode&&_.parentNode.removeChild(_),n(o);else{var e=document.hidden;!0!==e&&void 0!==e||(y=p.a.offsetWidth,g=m.a.offsetWidth,v=w.a.offsetWidth,t()),l=setTimeout(d,50)}}var p=new r(a),m=new r(a),w=new r(a),y=-1,g=-1,v=-1,b=-1,x=-1,j=-1,_=document.createElement("div");_.dir="ltr",i(p,u(o,"sans-serif")),i(m,u(o,"serif")),i(w,u(o,"monospace")),_.appendChild(p.a),_.appendChild(m.a),_.appendChild(w.a),document.body.appendChild(_),b=p.a.offsetWidth,x=m.a.offsetWidth,j=w.a.offsetWidth,d(),s(p,function(e){y=e,t()}),i(p,u(o,'"'+o.family+'",sans-serif')),s(m,function(e){g=e,t()}),i(m,u(o,'"'+o.family+'",serif')),s(w,function(e){v=e,t()}),i(w,u(o,'"'+o.family+'",monospace'))})})},void 0!==e?e.exports=a:(window.FontFaceObserver=a,window.FontFaceObserver.prototype.load=a.prototype.load)}()},"./third_party/tracekit.js":function(e,n){/**
On June 17, 1890, Emile Kinst patented the ball-bat, or banana bat. The bat is shaped with a curve, hence the name banana bat. The creator of the bat, Kinst wrote: "The object of my invention is to provide a ball-bat which shall produce a rotary or spinning motion of the ball in its flight to a higher degree than is possible with any present known form of ball-bat, and thus to make it more difficult to catch the ball, or if caught, to hold it, and thus further to modify the conditions of the game".
Manufacturers position each bat's label over the mechanically weaker side of the wood.[9] To reduce chance of fracture,[9] and maybe deliver more energy to the ball,[10] a bat is intended to be held so the label faces sky or ground when it strikes the ball during a horizontal swing.[9] In this orientation, the bat is considered stiffer and less likely to break.[11]
Do this for about three minutes, then collect the balls and work on 5-3, 6-4, and 4-6 plays for another three minutes. This is followed by hitting balls to the 5-6 hole. If the third baseman doesn’t get it, he retreats back to third, and the shortstop flips to third for a force-out, rather than throwing across or turn a long double play. The other fungo batter hits balls to the second baseman, who works on throwing to first.
Next, the third base fungo hits to left, who come home, third baseman cuts (again, 60' from home, about the pitchers mound). First base fungo hits to right, who throw again to second (this is where we practised cutting off doubles on balls hit into the right field corner - it's really practiseing hitting your cutoff man quickly than anything else - also the reason it's safe to do while left field goes home).
Players can also create complex holes such as ‘two-part holes’ where the players must hit or reach one object before attempting to shoot at the hole. For example, a ‘two-part hole’ could consist of hitting the scoreboard first, and then once they have hit the scoreboard they must hit the ball back to home plate, that would be one hole with the player with the fewest strokes winning the hole. ‘Two-part holes’ are typically saved for the last hole in order to make things more complex and difficult on the leader.
×