The potion effect particles you are experiencing are due to [MC-111533]. You may have to wait until Mojang fixes this bug.


Normally making an arrow fly forever would require raycasting, but as you only want it to "fly in the east direction", it should be a lot easier.

You can summon an arrow with no gravity with this command:

/summon arrow ~ ~2 ~ {CustomName:bomb,NoGravity:1b}

Then, to give it the motion, you can run the following command block in a repeating (so it doesn't slow down over time) command block:

/entitydata @e[type=arrow,name=bomb] {Motion:[0.5,0.0,0.0]}

If you try this however you might notice that the arrow's movement looks something like this:

Arrow motion

Minecraft doesn't send information about an entity very often unless it thinks something has significantly changed.

We can "trick" the game into updating the entity more often by constantly alternating a tag such as its Air. For example, running constantly each in alternating ticks:

/entitydata @e[type=arrow,name=bomb] {Air:2s,Motion:[0.5,0.0,0.0]}
/entitydata @e[type=arrow,name=bomb] {Air:1s,Motion:[0.5,0.0,0.0]}

Here's a one-command installer for the commands to alternate between those two commands:

summon falling_block ~ ~.6 ~ {Block:chain_command_block,TileEntityData:{Command:fill ~ ~ ~ ~ ~2 ~ air},Time:1,Passengers:[{id:falling_block,Block:redstone_block,Time:1,Passengers:[{id:falling_block,Block:activator_rail,Time:1,Passengers:[{id:commandblock_minecart,Command:setblock ~ ~-3 ~1 command_block 4 replace {Command:summon arrow ~ ~2 ~ {CustomName:bomb,NoGravity:1b},TrackOutput:0b}},{id:commandblock_minecart,Command:setblock ~-1 ~-3 ~1 air},{id:commandblock_minecart,Command:setblock ~ ~-3 ~2 command_block 4 replace {Command:blockdata ~ ~ ~ {auto:0b},TrackOutput:0b}},{id:commandblock_minecart,Command:setblock ~-1 ~-3 ~2 chain_command_block 4 replace {Command:blockdata ~1 ~ ~1 {auto:1b},auto:1,TrackOutput:0b}},{id:commandblock_minecart,Command:setblock ~-2 ~-3 ~2 chain_command_block 4 replace {Command:entitydata @e[type=arrow,name=bomb] {Air:1s,Motion:[0.5,0.0,0.0]},auto:1,TrackOutput:0b}},{id:commandblock_minecart,Command:setblock ~-3 ~-3 ~2 air},{id:commandblock_minecart,Command:setblock ~ ~-3 ~3 command_block 4 replace {Command:blockdata ~ ~ ~ {auto:0b},TrackOutput:0b}},{id:commandblock_minecart,Command:setblock ~-1 ~-3 ~3 chain_command_block 4 replace {Command:blockdata ~1 ~ ~-1 {auto:1b},auto:1,TrackOutput:0b}},{id:commandblock_minecart,Command:setblock ~-2 ~-3 ~3 chain_command_block 4 replace {Command:entitydata @e[type=arrow,name=bomb] {Air:2s,Motion:[0.5,0.0,0.0]},auto:1,TrackOutput:0b}},{id:commandblock_minecart,Command:setblock ~-3 ~-3 ~3 air},{id:commandblock_minecart,Command:setblock ~ ~-3 ~4 command_block 4 replace {Command:blockdata ~ ~ ~-2 {auto:1b},auto:1,TrackOutput:0b}},{id:commandblock_minecart,Command:setblock ~-1 ~-3 ~4 command_block 4 replace {Command:fill ~ ~ ~ ~1 ~ ~ air,auto:1,TrackOutput:0b}},{id:commandblock_minecart,Command:setblock ~-2 ~-3 ~4 air},{id:commandblock_minecart,Command:blockdata ~ ~-3 ~ {Command:,auto:0}},{id:commandblock_minecart,Command:setblock ~ ~-1 ~ command_block 0 1 {auto:1,Command:kill @e[type=commandblock_minecart,r=1]}}]}]}]}

(Place down an impulse command block, paste that in, turn it to Always Active then press Done)

After getting that set up (you will no longer need the repeating block) arrows named bomb should move like this:

Smooth arrow motion