Blender rendering automation (build script)
For starter, there's already quite a bit of discussion about command-line rendering in this forum, like for this question. You do need scripting for such automation. Here's a script containing just the basics, elaborated below:

Script:

# Run as: blender -b &lt;filename&gt; -P &lt;this_script&gt; -- &lt;image_path&gt;
import bpy, sys, os

# Assume the last argument is image path
imagePath = sys.argv[-1]

if os.path.exists(imagePath):
    # Assume object, material and texture name (and settings) are valid
    charObj = bpy.data.objects['Char01']
    charMat = charObj.material_slots['Char01Mat'].material
    charTex = charMat.texture_slots['Char01Tex'].texture
    charTex.image.filepath = imagePath

    # Render to separate file, identified by texture file
    imageBaseName = bpy.path.basename(imagePath)
    bpy.context.scene.render.filepath += '-' + imageBaseName

    # Render still image, automatically write to output path
    bpy.ops.render.render(write_still=True)
else:
    print("Missing Image:", imagePath)


Invocation:

There are several arguments you need to pass, to make scripts like this work:


-b &lt;fileName.blend&gt; to load specified .blend file without UI,
-P &lt;scriptName.py&gt; to load and execute specified Python script,
-- prevents Blender from processing subsequent arguments,
&lt;imagePath&gt; will specify texture image file, to be read by the script.


For this discussion, let's say you save the script as render_script.py, and execute it like this:

blender -b char01.blend -P render_script.py -- tex01.png


Description:

The script itself just reads image file path, assigning it to appropriate texture, tweak some render settings, and then rendering the image.

Command-line arguments can be accessed in sys.argv, and by passing -1 index, we access the rightmost argument. In the example above, it's tex01.png.

After verifying that the path is valid, using os.path.exists(), the filename is passed as texture image path. This part assumes that the object exist, with material and texture already set, and names as specified.

The third step is to modify render output filepath, so that each render with different texture will be written to separate files. So if output is already set as //sprite, this particular render will be written as sprite-tex01.png.

Finally it just executes render() (making it automatically write still image), then exits quietly.

This script contains only the gist of what needs to be done, so I really suggest you to modify it to suit your need.